Cloud computing is a result of development of distributed computing, parallel computing, and grid computing. Cloud computing divides a massive program into a number of smaller sub-programs that perform computation using multiple servers and then output computing results. Cloud storage is an extension of cloud computing using functions such as clustering applications, network technologies, and/or distributed file systems to put together a large number of different storage devices via a network. Current cloud storage schemes, however, may present some problems (e.g., resource waste) when uploading large files from a user device to servers.